package com.lancoo.edu.platform.operation.backupRestore.service.po.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.lancoo.edu.platform.operation.backupRestore.domain.po.BrSysDatabaseInfo;
import com.lancoo.edu.platform.operation.backupRestore.service.po.BrSysDatabaseInfoService;
import com.lancoo.edu.platform.operation.backupRestore.mapper.BrSysDatabaseInfoMapper;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;

import java.util.List;

/**
* @author Admin
* @description 针对表【br_sys_database_info(数据备份还原-系统对应数据库信息表)】的数据库操作Service实现
* @createDate 2024-03-25 11:24:26
*/
@Service
public class BrSysDatabaseInfoServiceImpl extends ServiceImpl<BrSysDatabaseInfoMapper, BrSysDatabaseInfo>
    implements BrSysDatabaseInfoService{

    /**
     * 获取系统对应数据库详情
     *
     * @param sysId       系统ID
     * @return 系统对应数据库详情
     */
    @Override
    public BrSysDatabaseInfo getInfo(String sysId) {
        return lambdaQuery()
                .eq(BrSysDatabaseInfo::getSysId, sysId)
                .last("limit 1")
                .one();
    }

    /**
     * 获取系统对应数据库信息列表
     *
     * @param keyword     关键字
     * @return 系统对应数据库信息列表
     */
    @Override
    public List<BrSysDatabaseInfo> getList(String keyword){
        return lambdaQuery()
                .like(StringUtils.isNotBlank(keyword), BrSysDatabaseInfo::getSysName, keyword)
                .list();
    }

    /**
     * 获取系统对应数据库信息列表（去重相同的系统ID）
     *
     * @return 系统对应数据库信息列表
     */
    @Override
    public List<BrSysDatabaseInfo> getListDistinct(){
        return lambdaQuery()
                .groupBy(BrSysDatabaseInfo::getSysId)
                .list();
    }

}




